Its already discussed while learning classes and OOP's, hence skipping
In [2]:
class Pen():
def __init__(self, size, name):
self.name = name
self.size = size
def set_name(self, name):
self.name = name
In [3]:
class BallPen(Pen):
def __init__(self, size, name, color):
self.color = color
super().__init__(size, name)
def set_color(self, color):
self.color = color
In [4]:
class InkPen(Pen):
def __init__(self, size, name, cart_type):
self.cart = cart_type
super().__init__(size, name)
In [8]:
pb = BallPen(10, "Renolds", "Green")
print(pb.name)
pb.set_name("cello")
print(pb.name)
print(dir(pb))
print(pb.__dict__)
In [21]:
class grand_parent:
def __init__(self, middle_name):
self.__middle_name = middle_name
def middle_name(self, middle_name):
self.__middle_name = middle_name
return self.__middle_name
In [22]:
class parent(grand_parent):
def __init__(self, middle_name, surname):
self.__surname = surname
super().__init__(middle_name)
def middle_name(self):
return self.middle_name
In [23]:
class student(parent):
def __init__(self, name, middle_name, surname):
self.name = name
super().__init__(middle_name, surname)
In [24]:
mohan = student("Venkat", "kumar", "Mohan")
In [25]:
print(mohan.middle_name)
In [26]:
print(mohan.middle_name("KUMAR"))
In [22]:
# NOTE: python 2 has issues with Super , get it also documented here